/**
 * @filename:PromptVectorConfig 2025-01-27
 * @project starhub-schema  V1.0
 */
package com.starhub.common.bean.agent;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import lombok.Data;

/**   
 * @Description:(智能体知识库关联配置实体类)
 * @version: V1.0
 * @author: liuhf
 */
@Data
@ApiModel
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class PromptVectorConfig implements Serializable {

	private static final long serialVersionUID = 1747213615659L;
	
    @JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(name = "id" , value = "主键ID")
	private Long id;
    
    @JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(name = "agentId" , value = "智能体ID")
	private Long agentId;
    
    @JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(name = "knowledgeBaseId" , value = "知识库ID")
	private Long knowledgeBaseId;
    
    @JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(name = "knowledgeCollectionId" , value = "知识库集合ID")
	private Long knowledgeCollectionId;
    
	@ApiModelProperty(name = "retrieve_key" , value = "召回关键字")
	private String retrieveKey;

	@ApiModelProperty(name = "retrieve_type" , value = "召回类型 0:默认检索 1:元数据向量化检索 2:元数据智能检索")
	private Integer retrieveType;
    
	@ApiModelProperty(name = "similary" , value = "相似度阈值")
	private Double similary;
    
	@ApiModelProperty(name = "maxResults" , value = "最大返回结果数")
	private Integer maxResults;
    
    @ApiModelProperty(name = "is_rarank" , value = "是否重排序 0-否 1-是")
	private Integer isRarank;

	@ApiModelProperty(name = "deleteType" , value = "逻辑删除标志，0为未删除，1为已删除")
	private Integer deleteType;
    
	@ApiModelProperty(name = "createTime" , value = "创建时间")
	private Date createTime;
    
	@ApiModelProperty(name = "updateTime" , value = "更新时间")
	private Date updateTime;

} 